//
// Created by Ctzzz on 2024/4/24.
//

#include <fcntl.h>
#include <stdio.h>

int main() {

    // 第一步打开文件
    int fd = open("./123.txt", O_RDONLY); //以只读的形式打开当前目录下的1.txt文件

    // 第二步：获取文件大小
    int len = lseek(fd, 0, SEEK_END); //先将指针偏移到文件末尾，获取文件末尾指针位置，即可获得文件大小

    // 第三步：将文件指针偏移到文件开头
    lseek(fd, 0, SEEK_SET); // SEEK_SET: 文件开头，SEEK_CUR: 当前位置，SEEK_END: 文件末尾

    // 第四步：创建一个缓冲区来存放读取到的数据
    char buf[len]; //创建一个大小与要读取的文件大小相等的字符数组来存放读取到的数据

    // 第五步：读取数据，将读取到的数据存放在数组中
    read(fd, buf, len);

    // 第六步：打印读取到的数据
    for (int i = 0; i < len; i++) {
        printf("%c\n", buf[i]);
    }

    // 第七步：关闭文件
    close(fd);

    return 0;
}